public interface StudentService {
    PageInfo<StudentVO> getStudentList(int page, int size, String name);
    
    StudentDTO getStudentById(Long id);
    
    void saveStudent(StudentDTO studentDTO);
    
    void deleteStudent(Long id);
    
    List<CourseVO> getStudentCourses(Long studentId);
}

@Service
public class StudentServiceImpl implements StudentService {
    
    @Autowired
    private StudentMapper studentMapper;
    
    @Autowired
    private CourseMapper courseMapper;
    
    @Override
    public PageInfo<StudentVO> getStudentList(int page, int size, String name) {
        PageHelper.startPage(page, size);
        List<Student> students = studentMapper.selectAll(name);
        
        List<StudentVO> studentVOs = students.stream()
                .map(this::convertToVO)
                .collect(Collectors.toList());
                
        return new PageInfo<>(studentVOs);
    }
    
    private StudentVO convertToVO(Student student) {
        // 转换逻辑
    }
    
    // 其他方法实现...
}